Differential pulse-code modulation (DPCM) is a signal encoder that uses the baseline of pulse-code modulation (PCM) but adds some functionalities based on the prediction of the samples of the signal. The input can be an analog signal or a digital signal. If the input is a continuous-time analog signal, it may be sampled first so that a discrete-time signal is the input to the DPCM encoder.
A first option is to take the values of two consecutive samples. If they are analog samples, they may be quantized. The difference between the first one and the next one is then calculated, and the output is the difference. In a second option, instead of taking a difference relative to a previous input sample, the difference relative to the output of a local model of the decoder process may be taken. The difference may be quantized, which allows the user to incorporate a controlled loss in the encoding.
DPCM may be used to transmit data over constrained communications links. The constraints may be experienced during, for example, satellite transfer orbit operations, where communication links are impacted by dynamic orbits, distance, link budgets, etc. Data measured and/or transmitted by a satellite may be cyclic (e.g., in the form of a sine or cosine wave). What is needed is an improved system and method for compressing and transmitting cyclic data (e.g., using DPCM encoding).